/*
 *  ACM Timus
 *  I. Square Country 5
 */

#include <stdio.h>
#include <string.h>

int N;
__int64 Sol = 0;
typedef int BIGNUM[8192];
BIGNUM Nr1, Nr2, sq;
char NR1[2048], NR2[2048];


void brute()
{
	long i, p1 = 1, p2;


	for (i = 1; i < N; i++)
		p1 *= 10;

	p2 = p1 * 10;

	for (i = p1; i < p2; i++)
	{
		__int64 x = (__int64)i * (__int64)i;

		if (x % p2 == i)
		{
			printf("%d ", i);
			Sol++;
		}
	}

	printf("\n%I64d\n", Sol);
}


/* appends digit to a and checks if its square corresponds */
bool Check(BIGNUM a, int digit)
{
	int i, j;

	a[++a[0]] = digit;
	memset(sq, 0, sizeof(sq));

	sq[0] = 2 * a[0] - 1;
	for (i = 1; i <= a[0]; i++)
		for (j = 1; j <= a[0]; j++)
			sq[i + j - 1] += a[i] * a[j];

	for (i = 1; i <= sq[0]; i++)
	{
		sq[i + 1] += sq[i] / 10;
		sq[i] %= 10;
	}
	if (sq[sq[0] + 1])
		sq[0]++;

	/* check if sq has the last a[0] digits the same as a */
	for (i = 1; i <= a[0]; i++)
		if (sq[i] != a[i])
		{
			a[a[0]] = 0;
			a[0]--;
			return false;
		}

	

	return true;
}

void print_big(BIGNUM &a)
{
	int i;

	for (i = a[0]; i > 0; i--)
		printf("%d", a[i]);
	printf("\n");
}

void sol()
{
	Nr1[0] = 1;
	Nr1[1] = 6;

	Nr2[0] = 1;
	Nr2[1] = 5;

	int i;

	for (i = 2; i <= N; i++)
	{
		int dig;

		Sol = 0;
		for (dig = 1; dig <= 9; dig++)
		{
			if (Check(Nr1, dig))
			{
				Sol++;

				break;
			}
		}
		if (dig == 10)
			Nr1[++Nr1[0]] = 0;

		for (dig = 1; dig <= 9; dig++)
		{
			if (Check(Nr2, dig))
			{
				Sol++;

				break;
			}
		}
		if (dig == 10)
			Nr2[++Nr2[0]] = 0;
	}

	printf("%d\n", Sol);
}


int main()
{
	scanf("%d", &N);

	//sol();
	//brute();


	strcat(NR1, "96973045430512075619834511511948935137239379172835840867476390209499061614594573");
	strcat(NR1, "67528010606819779017639983745482231897084060349549334219096694722780161471365812");
	strcat(NR1, "03544885752514636927645429509554908747857657240445081560260155412874713051801730");
	strcat(NR1, "72970744735165096793473148727797038681300052223464518708480142359577031816908226");
	strcat(NR1, "55472227679926239617411682727072043634258098555476404568089693642750382101179682");
	strcat(NR1, "42122389378622919190321886250680882334369685097942156474904271193315358789307471");
	strcat(NR1, "97724938701488383793615993221020597550976124888741310465450485111799321332297658");
	strcat(NR1, "99716045071702971355272637478246455680208814493184273514119514732612831519599781");
	strcat(NR1, "14705269777766554587786715351558464062063368663955410596712765215980526424396386");
	strcat(NR1, "53787991324626653086685661282649119787399714247014613356068977673446545223154970");
	strcat(NR1, "04297443834185662976349792525514318521212709790758741709469875087533113164841232");
	strcat(NR1, "25001082313212842718650591207231054702029022276945966433811718012977893694420327");
	strcat(NR1, "60193388809802255357578974863251298882868721874599866309913965110915635976124234");
	strcat(NR1, "06317802037381808216647950729580067512476217413285172109465510255985738768296430");
	strcat(NR1, "04515805005553893918537927459634400017284116439649506722044592580381507190479062");
	strcat(NR1, "46973147609062437160851428387632648029390775757601222992425044212728440232586541");
	strcat(NR1, "00246230448413728111205848369243033118364784495110172829562149197156591558735587");
	strcat(NR1, "31781514858422700839655029821076642033150085526104339980674541723219993816701455");
	strcat(NR1, "73767172742443889266839302984135015777708744514270120662852133676827594484243897");
	strcat(NR1, "64745600500065439191619880925846993994394425518129030721490022408194992458357147");
	strcat(NR1, "22918379886497531939418367238283232347390624719431557855138060395001655271932780");
	strcat(NR1, "93329582759905765533802187573309212464055383301491935363862833615950970780658118");
	strcat(NR1, "09041834047552213815385908712170156156829675182657111342726233685348089501197055");
	strcat(NR1, "20391853262394960428031062853281986243809445370031852357360960469926808918301970");
	strcat(NR1, "61490109937833490419136188999442576576769103890995893380022607743740081787109376");

	strcat(NR2, "03026954569487924380165488488051064862760620827164159132523609790500938385405426");
	strcat(NR2, "32471989393180220982360016254517768102915939650450665780903305277219838528634187");
	strcat(NR2, "96455114247485363072354570490445091252142342759554918439739844587125286948198269");
	strcat(NR2, "27029255264834903206526851272202961318699947776535481291519857640422968183091773");
	strcat(NR2, "44527772320073760382588317272927956365741901444523595431910306357249617898820317");
	strcat(NR2, "57877610621377080809678113749319117665630314902057843525095728806684641210692528");
	strcat(NR2, "02275061298511616206384006778979402449023875111258689534549514888200678667702341");
	strcat(NR2, "00283954928297028644727362521753544319791185506815726485880485267387168480400218");
	strcat(NR2, "85294730222233445412213284648441535937936631336044589403287234784019473575603613");
	strcat(NR2, "46212008675373346913314338717350880212600285752985386643931022326553454776845029");
	strcat(NR2, "95702556165814337023650207474485681478787290209241258290530124912466886835158767");
	strcat(NR2, "74998917686787157281349408792768945297970977723054033566188281987022106305579672");
	strcat(NR2, "39806611190197744642421025136748701117131278125400133690086034889084364023875765");
	strcat(NR2, "93682197962618191783352049270419932487523782586714827890534489744014261231703569");
	strcat(NR2, "95484194994446106081462072540365599982715883560350493277955407419618492809520937");
	strcat(NR2, "53026852390937562839148571612367351970609224242398777007574955787271559767413458");
	strcat(NR2, "99753769551586271888794151630756966881635215504889827170437850802843408441264412");
	strcat(NR2, "68218485141577299160344970178923357966849914473895660019325458276780006183298544");
	strcat(NR2, "26232827257556110733160697015864984222291255485729879337147866323172405515756102");
	strcat(NR2, "35254399499934560808380119074153006005605574481870969278509977591805007541642852");
	strcat(NR2, "77081620113502468060581632761716767652609375280568442144861939604998344728067219");
	strcat(NR2, "06670417240094234466197812426690787535944616698508064636137166384049029219341881");
	strcat(NR2, "90958165952447786184614091287829843843170324817342888657273766314651910498802944");
	strcat(NR2, "79608146737605039571968937146718013756190554629968147642639039530073191081698029");
	strcat(NR2, "38509890062166509580863811000557423423230896109004106619977392256259918212890625");

	Sol = 3;

	int i;
	for (i = 2; i <= N; i++)
	{
		int n = strlen(NR1);
		if (NR1[n - i] != '0')
			Sol++;

		n = strlen(NR2);
		if (NR2[n - i] != '0')
			Sol++;
	}

	printf("%d\n", Sol);

	return 0;
}